package br.com.insight.consultoria.integracao.dao;

import java.util.List;

import org.springframework.dao.DataAccessException;

import br.com.insight.consultoria.entity.ConheceuInsight;
import br.com.insight.consultoria.erro.exception.InsightConstants;
import br.com.insight.consultoria.erro.exception.InsightDaoException;
import br.com.insight.consultoria.erro.exception.InsightException;
import br.com.insight.consultoria.erro.exception.SistemaException;
import br.com.insight.consultoria.integracao.dao.genericdao.GenericDAO;
import br.com.insight.consultoria.integracao.dao.interfacedao.ConheceuInsightDAO;

public class ConheceuInsightImpDAO extends GenericDAO implements ConheceuInsightDAO{
	
	@Override
	public ConheceuInsight getConheceuInsgiht(Long id) throws InsightException {
	
		try{
		
			return (ConheceuInsight)getEntityById(ConheceuInsight.class, id);
			
			}catch(DataAccessException sql){
				
				throw new InsightDaoException(InsightConstants.MENSAGEM_ERRO_ACESSO_BANCO,sql);
			
			}catch(Exception ex){
				
				throw new SistemaException(InsightConstants.MENSAGEM_ERRO_NAO_TRATADO,ex);
				
			}
		
		
	}
	
	@Override
	public List<ConheceuInsight> listaConheceuInsgiht() throws InsightException {
		
			try{
				
				return findAll(ConheceuInsight.class);
	
			}catch(DataAccessException sql){
				
				throw new InsightDaoException(InsightConstants.MENSAGEM_ERRO_ACESSO_BANCO,sql);
			
			}catch(Exception ex){
				
				throw new SistemaException(InsightConstants.MENSAGEM_ERRO_NAO_TRATADO,ex);
				
			}
	}

}
